#pragma once

#include <gtl/ui/skins/pane.h>

namespace gtl
{

namespace skins
{

class label
	: public wnd
	, public control<label, 'lab'>
{
	auto_reg_to_the_factory();

public:
	label();
	virtual ~label();

public:
	virtual unsigned int initialize(gtl::xml& node, wnd* parent_wnd);

protected:
	DECLARE_MESSAGE_MAP()
	afx_msg BOOL OnEraseBkgnd(CDC* pDC);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);

protected:
	font*		m_font;
	HCURSOR		m_hand;
	bool		m_adapt;
	gtl::tstr	m_action;
	gtl::tstr	m_hypelink;
	COLORREF	m_text_clr;
	UINT		m_fmt_flags;
};

} // end of namespace skins

} // end of namespace gtl